package io.summer.gateway.tool;

import java.util.Objects;

import org.springframework.http.MediaType;
import org.springframework.lang.Nullable;

/**
 * @author Moonlight
 */
public final class MediaTypeTool {
    private MediaTypeTool() {}

    public static boolean fileType(@Nullable final MediaType mediaType) {
        if (Objects.isNull(mediaType)) {
            return false;
        }
        return mediaType.isCompatibleWith(MediaType.MULTIPART_FORM_DATA)
                || mediaType.isCompatibleWith(MediaType.IMAGE_GIF)
                || mediaType.isCompatibleWith(MediaType.IMAGE_JPEG)
                || mediaType.isCompatibleWith(MediaType.IMAGE_PNG);
    }

    public static boolean jsonType(@Nullable final MediaType mediaType) {
        return MediaType.APPLICATION_JSON.isCompatibleWith(mediaType);
    }
}
